<?php

if (!defined('BASEPATH'))
    exit('No direct script access allowed');

class ventasProductos_ extends CI_Controller {

    private $establecimiento;
    private $idUser;

    public function __construct() {
        parent::__construct();
        session_start();
        $this->estaLogueado();
        
        //¿POR QUE SE CARGAN TODOS LOS MODELOS SIN SER UTILIZADOS? AFECTA EL RENDIMIENTO ?

         $this->load->model('clienteM');
         $this->load->model('monedaM');
         $this->load->model('_clienteM');
         $this->load->model('_categoria_productoM');
        $this->load->model('_productoM');
        $this->load->model('_impuestoM');
        $this->load->model('producto_x_ventaM');
        $this->load->model('producto_servicioM');        
         $this->load->model('venta_producto_servicioM');

        $this->establecimiento = $_SESSION["establecimiento"]["id_establecimiento"];
       
    }

    public function index() {
        $data = array();
        $this->loadData($data);
        $this->load->view('header', $data);
        $this->load->view('ventasProductosV');
        $this->load->view('footer');
    }

    public function loadData(&$data) {
        $data["tab"] = "ventasProductos";
        $data['categorias'] = $this->_categoria_productoM->getAllCategories($this->establecimiento);
        $data['categoriasConInventario'] = $this->_categoria_productoM->getAll($this->establecimiento);
        $data['paises'] = $this->_clienteM->getListaPaises();
        $data['documentos'] = $this->_clienteM->getListaDocumentos($this->establecimiento);
        $data['estados_civiles'] = $this->_clienteM->getListaEstadoCivil();
        $data['impuestosVenta'] = $this->_impuestoM->getAll($this->establecimiento);
         $data['simboloMoneda']=$this->monedaM->obtenerMonedaActual($this->establecimiento);
    }


    
      public function nuevaVentaPersona() {
        // var_dump($_POST);
        $this->escapar($_POST);

        $idCliente;

        if ($_POST['quien'] == 'persona') {
            if ($_POST['idEstadoCivil'] == '') {
                $_POST['idEstadoCivil'] = 3;
            }
            $this->formatoFechaBD($_POST['fechaNacimiento']);
            if ($_POST['idCliente'] == '') {
                $this->clienteM->crearClientePersona($_POST['documento'], $_POST['nacionalidad'], $_POST['tipoDocumento'], $_POST['nombre'], $_POST['apellido'], $_POST['genero'], $_POST['fechaNacimiento'], $_POST['telefono'], $_POST['email'], $_POST['ocupacion'], $_POST['idEstadoCivil']);
                $idCliente = mysql_insert_id();
            } else {
                $idCliente = $_POST['idCliente'];
                $this->clienteM->actualizarClientePersona($_POST['idCliente'], $_POST['documento'], $_POST['nacionalidad'], $_POST['tipoDocumento'], $_POST['nombre'], $_POST['apellido'], $_POST['genero'], $_POST['fechaNacimiento'], $_POST['telefono'], $_POST['email'], $_POST['ocupacion'], $_POST['idEstadoCivil']);
            }
        } else if ($_POST['quien'] == 'empresa') {
            if ($_POST['idCliente'] == '') {
                $this->clienteM->crearClienteEmpresa($_POST['identificacionEmpresa'], $_POST['paisEmpresa'], $_POST['nombreEmpresa'], $_POST['telefonoEmpresa'], $_POST['direccionEmpresa'], $_POST['emailEmpresa']);
                $idCliente = mysql_insert_id();
            } else {
                $idCliente = $_POST['idCliente'];
                $this->clienteM->actualizarClienteEmpresa($_POST['idCliente'], $_POST['identificacionEmpresa'], $_POST['paisEmpresa'], $_POST['nombreEmpresa'], $_POST['telefonoEmpresa'], $_POST['direccionEmpresa'], $_POST['emailEmpresa']);
            }

        }
            $idUser=$_SESSION["usuario"]["id_usuario"];
            $isReserva=$_POST['idReservaCliente'];
            $reservaId=($isReserva==NULL)? " NULL ":$isReserva;
            $this->venta_producto_servicioM->insertarVentaExtra(NULL, $idCliente, $_POST["impuestos"],"Extra",$_POST["descuento"], $_POST["totalV"],$idUser, $_POST["modo_pago"], $_POST["notas"]);
            $cProductosVenta=sizeof($_POST['c']);
            $cantidadesProductosSeleted=$_POST['c'];
             $IdProductosSeleted=$_POST['p'];
              $idVenta = mysql_insert_id();
            for ($i = 0; $i <= $cProductosVenta -1; $i++) {
                  
                 $this->producto_x_ventaM->insertarRegistro($IdProductosSeleted[$i], $idVenta, $cantidadesProductosSeleted[$i] );
                $this->producto_servicioM->actualizarInventario($IdProductosSeleted[$i], $cantidadesProductosSeleted[$i] );
             }  
            
        header("Location:../ventasProductos");
        
    }
    
    private function formatoFechaBD(&$fecha) {
        $fecha = explode("/", $fecha);
        $fecha = "$fecha[2]-$fecha[1]-$fecha[0]";
    }

}
